The present invention relates to an apparatus and a method for capturing Data into a markup language data entry form, and more particularly, to an apparatus and a method for capturing data such as magnetically encoded card data, hand stroke data, voice data, image data and video data into an input field of a markup language.
Rapid advances in electronics have given rise to powerful mobile computers capable of performing tasks reserved for minicomputers of the past. The power of these mobile computers is further enhanced by advances in telecommunications technology which enable these mobile computers to communicate with each other and to access data in an untethered manner. In these systems, when one mobile computer sends a message to another computer, the message is sent as a sequence of data packets onto a communication system. Typically, the communication system is divided into a number of links. A link may be a local area network (LAN) which is capable of supporting a few hundred nodes where computers may be attached. The LANs are connected together by a number of different standard devices which forward the packets to their destination. Other types of link in a communication system may include a wide area network (WAN) formed by joining other links such as LANs, or by directly joining computers in a point-to-point connection.
Concurrent with the rise of mobile computing is a phenomenon known as networking. A global network known as the Internet is an increasingly popular medium for communicating and publishing widely accessible documents. A network of networks, the Internet transfers information using a common protocol called Hyper Text Transfer Protocol (HTTP) which tells computers connected to the network how to locate and exchange files with one another. HTTP is a stateless protocol designed to transfer documents at a fast rate. Stateless systems do not remember any information from one document transfer to the next, or from one connection to another. If any other documents or files are needed, a new connection must be opened between computers, any request and response made, and a connection closed.
An important class of documents communicated over the Internet conform to a Hyper Text Markup Language (HTML) that a World-Wide-Web (WWW or Web) client browser can translate and display. Once posted on a Web server, these documents or compilations of pages can be retrieved and viewed by anyone who has access to the Internet and a browser on their client computer. As a global communications system, the Internet is a natural complement to mobile computers which may need to send and receive data from anywhere in the world.
In a separate trend, to minimize investments in time required to learn how to use software applications running on the mobile computers, each software application is typically provided with a graphical user interface. The graphical use interface provides simple interactive tools for an input, a manipulation and a display of data as well as program execution control through the use of windows, icons, menus, toolbars, scrollbars, command buttons, option buttons, text input boxes, dialog boxes and the like. By providing a graphical user interface, the applications allow a user to run the application intuitively and with minimum or no training at all. Particularly, the graphical user interface displayed on desktop browsers such as Netscape Navigator, available from Netscape Communications Corporation, or Internet Explorer, available from Microsoft Corporation, is a familiar interface which is easy to learn. Therefore, it is desirable to apply the browser user interface paradigm to applications running on the mobile computers.
The browser user interface is typically specified using a mark up language such as HTML. Each HTML document is essentially a collection of HTML codes or tags which provide the document with a general structure of a head and a body, as well as headings, format controls, forms, tables, and one or more element types. The head contains a title, while the body contains information actually displayed. The body can be made up of a number of elements such as texts, images, sound clips and tags for forming controls, lists, tables, frames, layers, and others. Typically, each HTML tag is specified by a left angle bracket ( less than ), a tag name, and a right angle bracket ( greater than ). Tags are usually paired, for example  less than HTML greater than  and  less than /HTML greater than , to start and end the tag instruction. The end tag resembles the start tag except a slash (/) precedes the text within the brackets. The adoption of the HTML language as a standard allows hypertext documents to be easily created. Further, when viewed with HTML browsers, these documents are displayed with a degree of consistency across a wide range of machines.
In many applications where pre-encoded data may already exist such as data resident on a card, a parcel package, a product label, or a shelf tag, it may be desirable to automatically capture the data. Additionally, it may be desirable to manually enter data using a keyboard directly into the application if the bar code or magnetic stripe code is damaged and unreadable. For these applications, the current HTML language requires custom software to handle automatic data capture devices.
As HTML language was originally designed for authors to turn a simple text document into a hypertext document for the World Wide Web, HTML lacks support for automated data capture and display in HTML input fields. Such automated data capture capability is important for applications such as inventory control, manufacturing control, and point of sale data capture, among others. Heretofore, in the event an application is written in HTML needs to capture data from various automatic data collection devices, developers were required to develop custom routines and code on a case by case basis. This process is time consuming, tedious and costly.
A computer implemented apparatus captures data from a user into a form specified in accordance with a markup language such as Hypertext Markup Language. The user selects a data type such as text, handwriting, voice, image and video data type to be captured. Once the user indicates the type of data to be captured, the apparatus enables a transducer associated with the selected data type to capture data. The apparatus then formats data from the transducer into a predetermined format, stores and displays the formatted data in the markup language form.
The transducer may be a magnetic stripe reader for capturing magnetically encoded data. It may also be a graphics tablet for capturing handwriting data. The transducer may also be a microphone for capturing audio data. The transducer is a camera for capturing either images or video sequences.
In one aspect, the apparatus determines whether the data received is error-free and if not, generates a failure warning to a user. The warning may include playing a first tone to indicate the failure and a second tone to indicate success.
In another aspect, the apparatus collects handwriting and other user strokes. During the user stroke data collection, the apparatus compresses the captured data by deleting duplicate points in the user strokes before storing the strokes. Moreover, the apparatus stores deltas between previous and current user strokes.
In yet another aspect, the form has a clear stroke area to allow the user the option of clearing previous writings. When the user actuates this area, previously stored user strokes are deleted.
Advantages of the invention include the following. The invention provides an ability to capture multimedia data into an HTML form. Hence, data from various magnetic stripe readers and scanners may be stored into an HTML form. Moreover, pen strokes, including signature strokes, may be captured into the HTML form. Additionally, the capturing of voice, image and video data are supported. The user needs not relearn the interface for each application, as the interface remains consistent across a plurality of platforms. Hence, user productivity is increased.
Further, from the point of view of writing an application using HTML, the capture of these multimedia data may be specified in a simple, yet robust manner by adding an additional attribute to an HTML tag to enable an input field to support the multimedia data. By integrating such data capture capability into an HTML input field, it is easy to integrate with existing HTML development environments so that an HTML developer may easily deploy the data capture capability. Further, as the capability is standardized, developers can avoid a need for developing specialized routines and code on a case by case basis.